package com.threadpool.echo;

/**
 * 线程的启动的两种方法，Runnable接口，run（）的调用
 * https://www.cnblogs.com/echo-cheng/p/6814909.html
 * 记住：多线程就是分时利用CPU，宏观上让所有线程一起执行 ，也叫并发。
 *
 *
 * 1.start（）方法来启动线程，真正实现了多线程运行。这时无需等待run方法体代码执行完毕，可以直接继续执行下面的代码；
 * 通过调用Thread类的start()方法来启动一个线程， 这时此线程是处于就绪状态， 并没有运行。 然后通过此Thread类调用
 * 方法run()来完成其运行操作的， 这里方法run()称为线程体，它包含了要执行的这个线程的内容， Run方法运行结束， 此线程终止。
 * 然后CPU再调度其它线程。
 *
 * 2.run（）方法当作普通方法的方式调用。程序还是要顺序执行，要等待run方法体执行完毕后，才可继续执行下面的代码；
 * 程序中只有主线程——这一个线程， 其程序执行路径还是只有一条， 这样就没有达到写线程的目的。
 *
 * @author: chenhs
 * @date: Created in 16:10 2019/9/2
 **/
public class Test {
    public static void main(String[] args) {
        Runner1 runner1 = new Runner1();
        Runner2 runner2 = new Runner2();


        Thread thread1 = new Thread(runner1);
        Thread thread2 = new Thread(runner2);
   //     thread1.start();
   //     thread2.start();


        thread1.run();
        thread2.run();

    }
}
